//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// functions //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// shorter get
var $byId = function(id){return document.getElementById(id);};
var $byClass = function(classname){return document.getElementsByClassName(classname);};
var $byName = function(name){return document.getElementsByName(name);};
var $byTag = function(tag){return document.getElementsByTagName(tag);};

// remove function
Element.prototype.remove = function(){
	this.parentElement.removeChild(this);
}
NodeList.prototype.remove = HTMLCollection.prototype.remove = function() {
    for(var i = 0, len = this.length; i < len; i++) {
        if(this[i] && this[i].parentElement) {
            this[i].parentElement.removeChild(this[i]);
        }
    }
}

// show / hide
function toggle(el) {
	el.style.display = (el.style.display == 'none') ? '' : 'none'
}

// select all
function sel_all(el){el.focus();el.select();}

// get url params 
function getURLParameter(name) {return decodeURI((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]);}

// get Group ID
url_gid_test = getURLParameter('gid');
if( !isNaN(url_gid_test) && url_gid_test > 0 ){
	url_gid = getURLParameter('gid');
}
else{ 
	url_gid = '';
}

//  get Album ID
url_aid_test = getURLParameter('aid');
if( !isNaN(url_aid_test) && url_aid_test > 0 ){
	url_aid = getURLParameter('aid');
}
else{ url_aid = 0; }

// error box
function openAlertBox(text,button1,button2){
	$byTag('body')[0].style.overflow = 'hidden';
	$byId('alertbg').style.visibility = 'visible';
	// text box
	$byId('alerttext').innerHTML = text;
	// buttons
	div = document.createElement('div');
	if(button2==0){
		$byId('alertbuttons').innerHTML = '<button onclick="'+button1+'">OK</button>';
	}
	else{
		$byId('alertbuttons').innerHTML = ''
			+'<button onclick="'+button1+'">OK</button>'
			+'<button onclick="'+button2+'">Отмена</button>';
	}
	// margin
	$byId('alertbox').style.marginLeft = '-' + (($byId('alerttext').offsetWidth+2)/2) +'px';
	$byId('alertbox').style.marginTop = '-' + ($byId('alertbox').offsetHeight/2) +'px';
}
function closeAlertBox(){
	$byId('alertbox').style.marginLeft = '';
	$byId('alertbox').style.marginTop = '';
	$byId('alerttext').innerHTML = '';
	$byId('alertbuttons').innerHTML = '';
	$byId('alertbg').style.visibility = 'hidden';
	if(vidboxopen == 0){
		$byTag('body')[0].style.overflow = 'auto';
	}
}

AVK.api.token = apicfg.token;

// get json
var getJSON = function(method, params, cb) {
	var cbname, par = '', script = document.createElement('script');
	for (var p in params) {
		par += encodeURIComponent(p) + '=' + encodeURIComponent(params[p]) + '&'
	}
	cbname = '__json'+Math.floor(Math.random()*1000001)
	window[cbname] = function(data) { script.remove(); delete window[cbname]; cb(data); }
	script.src = 'https://api.vk.com/method/'+method+'?'+par
		+'v='+AVK.api.ver+'&lang='+AVK.api.lang+'&access_token='+AVK.api.token+'&callback='+cbname;
	document.getElementsByTagName("head")[0].appendChild(script);
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// vk api /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

window.onload = function(){

	LoadNav();
	if(AVK.api.token==''){
		AuthFail();
	}
	else{
		getJSON('users.get',{},function(data){
			if(data.response){
				CheckPerm(data.response[0].id);
			}
			else{
				AuthFail();
			}
		});
	}
	
}

function LoadNav(){
	// faq
	span = document.createElement('span');
	span.innerHTML = '[<a href="#" onclick="showpagefaq(); return false;">FAQ</a>] ';
	$byId('main_nav').appendChild(span);
	// changelog
	span = document.createElement('span');
	span.innerHTML = '[<a href="#" onclick="showpagechangelog(); return false;">Changelog</a>] ';
	$byId('main_nav').appendChild(span);
}

// login - logout
function doLogout(){getJSONlogout(AVK.api.app,AVK.api.token,function(data){location.reload();});}

// not auth
function AuthFail(){
	apiauth = {};
	apiauth.domain = 'https://oauth.vk.com/';
	apiauth.method = 'authorize?';
	apiauth.client = 'client_id=4218952';
	apiauth.scope = '&amp;scope=notify,friends,photos,audio,video,docs,notes,messages,pages,status,wall,groups,notifications,stats,offline';
	apiauth.redir = '&amp;redirect_uri=blank.html';
	apiauth.disp = '&amp;display=popup';
	apiauth.resp = '&amp;response_type=token';
	apiauth.url = apiauth.domain+apiauth.method+apiauth.client+apiauth.scope+apiauth.redir+apiauth.disp+apiauth.resp;
	$byClass('ln1')[0].innerHTML='Добро пожаловать!';
	$byClass('ln2')[0].innerHTML='Чтобы загружать видео в VK, вы должны быть авторизированы на сайте VK и приложении.';
	$byClass('ln3')[0].innerHTML='<a href="'+apiauth.url+'" target="_blank">Авторизироватся с помощью VK</a>';
}

// check perm
AVK.user = {};
function CheckPerm(uid){
	AVK.user.id = uid;
	getJSON('account.getAppPermissions',{uid:AVK.user.id},function(data){
		if(data.response || data.response == 0){
			AVK.user.permissions = data.response;
			if((AVK.user.permissions&(AVK.api.access))==(AVK.api.access)){
				LoadUser(AVK.user.id);
			}
			else{
				noperm();
			}
		}
		else{
			AVK.user.permissions = '?';
			noperm();
		}
	});
}

function noperm(){
	auth_uri = 'https://oauth.vk.com/authorize?'
			+'&amp;client_id='+AVK.api.app
			+'&amp;display=page'
			+'&amp;redirect_uri='+encodeURIComponent(location.href)
			+'&amp;response_type=token'
			+'&amp;scope='+AVK.api.access;
	$byClass('ln1')[0].innerHTML='Добро пожаловать!';
	$byClass('ln2')[0].innerHTML='Ошибка: нет доступа к видеозаписям и группам. Чтобы загрузить видео в VK,';
	$byClass('ln3')[0].innerHTML='вы должны <a href="'+auth_uri+'">предоставить доступ к видеозаписям и группам</a>.'
		+' [ '+AVK.user.permissions+' / '+AVK.api.access+' ]';
}

function LoadUser(uid){
	getJSON('users.get',{uids:AVK.user.id,fields:'first_name,last_name,photo_50,domain'},function(data){
		if(data.response){
			// update user info
			AVK.user.first_name = data.response[0].first_name;
			AVK.user.last_name = data.response[0].last_name;
			AVK.user.domain = data.response[0].domain;
			AVK.user.photo_50 = data.response[0].photo_50;
			// write user
			$byClass('ava')[0].style.backgroundImage="url('"+AVK.user.photo_50+"')";
			$byClass('ln1')[0].innerHTML='Добро пожаловать, <a href="http://vk.com/'+AVK.user.domain+'" target="_blank">'
				+AVK.user.first_name+' '+AVK.user.last_name+'</a>!';
			$byClass('ln2')[0].innerHTML='Проверка #1: <span class="gText">Доступ к видеозаписям - OK</span>';
			$byClass('ln3')[0].innerHTML='Проверка #2: <span class="gText">Доступ к группам - OK</span>';
			// load preuploader ui
			load_preuploader_ui();
			//console.log('javascript: prepUpVideo(\'No name\',\'\',0,0,0);');
		}
	});
}

// hide show add video 
function sh_addvideo(){
	if($byId('adding_box').style.display == 'none'){
		$byId('adding_box').style.display = 'block';
		$byId('sh_addvideo').innerHTML='Скрыть добавление видео';
	}
	else{
		$byId('adding_box').style.display = 'none';
		$byId('sh_addvideo').innerHTML='Показать добавление видео';
	}
}

function load_preuploader_ui(){
	$byId('adding_box').style.display='block';
	$byId('ext_nav').innerHTML=''
		+'<span>[<a id="sh_addvideo" href="#" onclick="sh_addvideo(); return false;">Скрыть добавление видео</a>]</span>'
	+'';
	
	$byClass('title')[0].innerHTML=''
		+'<span class="page_title page_addvideo">'
			//+'Добавить видео:'
			+'<select name="up_ui" style="display:inline-block;width:auto;" onchange="change_up_ui(this);">'
				+'<option value="ui_user">Добавить видео в профаил:</otion>'
				+'<option value="ui_group">Добавить видео в сообщество:</otion>'
			+'</select>'
		+'</span>'
		+'<span class="manag">'
			+'<input id="remember" type="checkbox" title="Не сбрасывать поля после добавления видео"/>'
		+'</span>'
	+'';
	change_up_ui_uri();
	$byName('up_ui')[0].value = url_gid > 0 ? 'ui_group' : 'ui_user';
}

function change_up_ui(el){
	if( el.value== 'ui_group' ){ load_up_group_ui(); }
	else if( el.value == 'ui_user' ){ load_up_user_ui(); }
	else{ openAlertBox('Ошибка загрузки UI','closeAlertBox();',0); }
}
function change_up_ui_uri(){
	if( url_gid > 0 ){ load_up_group_ui(); }
	else{ load_up_user_ui(); }
}

function load_up_user_ui(){
	$byClass('add_up')[0].innerHTML='<div>'
		+'<form id="video_add" action="javascript:getUpParam();">'
			+'<div>'
				+'<span>Название видеофайла<span class="rStar" title="Обязательное поле">*</span>:</span>'
				+'<input type="text" name="name" required="required"/>'
			+'</div>'
			+'<div>'
				+'<span>Описание видеофайла:</span>'
				+'<textarea type="text" name="vdescription"></textarea>'
			+'</div>'
			+'<div class="albumCustom"></div>'
			+'<table>'
				+'<tr>'
					+'<td>'
						+'<div>Кто cможет смотреть это видео?</div>'
						+'<select name="privacy_view">'
							+'<option value="0" selected="selected">Все пользователи (по умолчанию)</option>'
							+'<option value="1">Только друзья</option>'
							+'<option value="2">Друзья и друзья друзей</option>'
							+'<option value="3">Только я</option>'
						+'</select>'
					+'</td>'
					+'<td>'
						+'<div>Кто сможет комментировать это видео?</div>'
						+'<select name="privacy_comment">'
							+'<option value="0" selected="selected">Все пользователи (по умолчанию)</option>'
							+'<option value="1">Только друзья</option>'
							+'<option value="2">Друзья и друзья друзей</option>'
							+'<option value="3">Только я</option>'
						+'</select>'
					+'</td>'
				+'</tr>'
			+'</table>'
			+'<div style="text-align:right;">'
				+'<span>Дополнительные настройки:<span>'
				+'<input class="extra_option" name="repeat" type="checkbox">'
				+'<a href="#" onclick="showrepeat(); return false;">Зациклить видео</a>'
				+'<input class="extra_option" name="is_private" type="checkbox">'
				+'<a href="#" onclick="showpageisprivate(); return false;">Приватное видео</a>'
			+'</div>'
			+'<div><input type="submit" value="Перейти к загрузке"/></div>'
		+'</form>'
	+'</div>';
	load_albums();
}

function load_up_group_ui(){
	$byClass('add_up')[0].innerHTML=''
		+'<div>'
			+'<form id="video_add" action="javascript:getUpParam();">'
				+'<div class="groupCustom"></div>'
				+'<div>'
					+'<span>Название видеофайла<span class="rStar" title="Обязательное поле">*</span>:</span>'
					+'<input type="text" name="name" required="required"/>'
				+'</div>'
				+'<div>'
					+'<span>Описание видеофайла:</span>'
					+'<textarea type="text" name="vdescription"></textarea>'
				+'</div>'
				+'<div class="albumCustom"></div>'
				+'<div style="text-align:right;">'
					+'<span>Дополнительные настройки:<span>'
					+'<input class="extra_option" name="repeat" type="checkbox">'
					+'<a href="#" onclick="showrepeat(); return false;">Зациклить видео</a>'
				+'</div>'
				+'<div><input type="submit" value="Перейти к загрузке"/></div>'
			+'</form>'
		+'</div>'
	+'';
	load_groups();
}

function load_groups(){
	group_is_select = 0;
	if($byClass('groupCustom')[0] !== undefined){
		//create index
		$byClass('groupCustom')[0].innerHTML = '<span>Выбирите куда сохранять видео:</span>'
				+'<span style="float:right">[<a href="#" onclick="toGroup(); return false;">Выбор сообщества по ID</a>]</span>'
				+'<select name="group_id" class="gr_list" onchange="load_albums(this);"></select>';
		getJSON('groups.get',{filter:'moder',count:1000,extended:1},function(gdata){
			if(gdata.response){
				AVK.temp_gr = gdata.response.items;
				for(j=0;j<AVK.temp_gr.length;j++){
					var option = document.createElement('option');
						option.value = AVK.temp_gr[j].id;
						option.innerHTML = AVK.temp_gr[j].name;
					if(url_gid == option.value){
						option.selected = true;
						group_is_select = 1;
					}
					$byName('group_id')[0].appendChild(option);
				}
			}
			after_group_load_check();
		});
		function after_group_load_check(){
			if(group_is_select == 0 && url_gid > 0){
				getJSON('groups.getById',{group_id:url_gid},function(data2){
					if(data2.response && data2.response[0].name !== ''){
						var option = document.createElement('option');
							option.value = data2.response[0].id;
							option.innerHTML = data2.response[0].name;
						if(url_gid == option.value){
							option.selected = true;
						}
						$byName('group_id')[0].appendChild(option);
					}
					load_albums($byName('group_id')[0]);
				});
			}
			else{
				load_albums($byName('group_id')[0]);
			}
		}
	}
}

function toGroup(){
	openAlertBox('Введите ID сообщества: <input type="number" name="toGroupLoad" value="'+(-album_oid)+'" min="1"/>','toGroupLoad();','closeAlertBox();');
}

function toGroupLoad(){
	load_id_gid = $byName('toGroupLoad')[0].value;
	if(!isNaN(load_id_gid) && load_id_gid > 0){
		url_gid = load_id_gid;
		closeAlertBox();
		load_groups();
	}
	else{
		openAlertBox(
			'Введите ID сообщества: <input type="number" name="toGroupLoad" value="'+(-album_oid)+'" min="1"/>'
				+'<div class="rStar">Ошибка: неверный ID сообщества.</div>',
			'toGroupLoad();','closeAlertBox();');
	}
}

function load_albums(obj){
	$byClass('albumCustom')[0].innerHTML = 'Выбирите в какой альбом сохранять видео:'
		+'<span style="float:right">[<a href="#" onclick="addAlbum(); return false;">Создать альбом</a>]</span>'
		+'<select name="album_id" class="alb_list" onchange="prepAlbum(this);"></select>';
	var option = document.createElement('option');
		option.value = 0;
		option.innerHTML = 'Вне альбома';
	$byClass('alb_list')[0].appendChild(option);
	album_oid = $byName('group_id')[0] ? -$byName('group_id')[0].value : AVK.user.id;
	getJSON('video.getAlbums',{owner_id:album_oid,count:1},function(adata){
		if(adata.response){
			total_albums = Math.ceil(adata.response.count/100);
			load_albums_list();
		}
	});
	function load_albums_list(){
		for(i=0;i<total_albums;i++){
			albums_offset = i*100;
			getJSON('video.getAlbums',{owner_id:album_oid,count:100,offset:albums_offset},function(adata){
				if(adata.response){
					for(j=0;j<adata.response.items.length;j++){
						var option = document.createElement('option');
						option.value = adata.response.items[j].id;
						if(url_aid == option.value){
							option.selected = true;
						}
						option.innerHTML = adata.response.items[j].title;
						$byClass('alb_list')[0].appendChild(option);
					}
				}
			});
		}
	}
}

function prepAlbum(obj){
	if(obj.value == 0){ url_aid = 0 } else { url_aid = obj.value };
}

// addAlbum
function addAlbum(){
	openAlertBox('Введите название альбома: <input type="text" name="toAlbumLoad" value=""/>','toAlbumLoad();','closeAlertBox();');
}

function toAlbumLoad(){
	load_album_name = $byName('toAlbumLoad')[0].value;
	toGID = album_oid > -1 ? 0 : -album_oid; // oid = 0 ; текущий пользователь
	getJSON("video.addAlbum",{group_id:toGID,title:load_album_name},function(andata){
		if(andata.response){
			url_aid = andata.response.album_id;
			closeAlertBox();
			load_groups();
		}
		else if(andata.error){
			openAlertBox('Введите название альбома:<br/><input type="text" name="toAlbumLoad" value=""/>'
				+'<div class="rStar">Ошибка #'+andata.error.error_code+':<br/>'+andata.error.error_msg+'</div>',
			'toAlbumLoad();','closeAlertBox();');
		}
	});
}

// get video param 
function getUpParam(){
	param = {}; // параметры:
	param.group_id = album_oid > -1 ? 0 : -album_oid; // oid = 0 ; текущий пользователь
	param.title = $byName('name')[0].value; //  name = название
	param.description = $byName('vdescription')[0].value; // описание
	param.album_id = $byName('album_id')[0].value; // альбом
	param.repeat = $byName('repeat')[0].checked ? 1 : 0; // зациклить
	if(param.group_id < 1){
		param.privacy_view = $byName('privacy_view')[0].value; // приватность просмотра
		param.privacy_comment = $byName('privacy_comment')[0].value; // приватность комментариев
		param.is_private = $byName('is_private')[0].checked ? 1 : 0 // отправка личным
	}
	else{
		param.privacy_view = 0;
		param.privacy_comment = 0;
		param.is_private = 0;
	}
	prepUpVideo(param.group_id,param.title,param.description,param.album_id,param.repeat,param.privacy_view,param.privacy_comment,param.is_private);
	
	if($byId('remember').checked){}
	else{$byId('video_add').reset();}
}

iframeload = function(id,stat) {
	if(stat==1)
		{display='none';}
	else
		{display='block';}
    $byId('pr'+id).style.display=display;
}

AVK.vuu = [];
vuu_id = -1;
function prepUpVideo(group_id,title,description,album_id,repeat,privacy_view,privacy_comment,is_private){
	getJSON("video.save",{group_id:group_id,name:title,description:description,album_id:album_id,repeat:repeat,privacy_view:privacy_view,privacy_comment:privacy_comment,is_private:is_private},function(updata){
		if(updata.response){
			vuu_id = vuu_id+1;
			AVK.vuu[vuu_id] = updata.response;
			vidurl='<a class="url" href="http://vk.com/video'+AVK.vuu[vuu_id].owner_id+'_'+AVK.vuu[vuu_id].video_id+'" target="_blank">'+AVK.vuu[vuu_id].title+''
				+' (video'+AVK.vuu[vuu_id].owner_id+'_'+AVK.vuu[vuu_id].video_id+')</a>';
			var div = document.createElement('div');
			div.className = 'file_uploader';
			div.id = 'vif'+AVK.vuu[vuu_id].video_id;
			div.innerHTML = ''
				// title block
				+'<div class="title">'
					+'<div>'
						+'<span class="page_title page_upvideo">Загрузка видео:</span>'
						+'<span class="manag">'
							+'<span class="bttn" onclick="loadVideo(\''+AVK.vuu[vuu_id].owner_id+'_'+AVK.vuu[vuu_id].video_id+'_'+AVK.vuu[vuu_id].access_key+'\',\''+AVK.vuu[vuu_id].access_key+'\');"'
								+' title="Показать видео">i</span>'
							+'<span class="bttn" onclick="toggle($byId(\'upl'+AVK.vuu[vuu_id].video_id+'\'));"'
								+' title="Скрыть/показать загрузчик">_</span>'
							+'<span class="bttn" onclick="$byId(\'vif'+AVK.vuu[vuu_id].video_id+'\').remove();"'
								+' title="Удалить загрузчик">x</span>'
						+'</span>'
					+'</div>'
					+'<div style="clear:both;"></div>'
					+'<div>'+vidurl+'</div>'
				+'</div>'
				// upload block
				+'<div class="add_up" id="upl'+AVK.vuu[vuu_id].video_id+'">'
					+'<form action="'+AVK.vuu[vuu_id].upload_url+'" target="fr'+AVK.vuu[vuu_id].video_id+'" method="POST" enctype="multipart/form-data">'
						+'<input type="file" name="video_file" accept="video/*,audio/*"/>'
						+'<input type="hidden" name="MAX_FILE_SIZE" value="2147483648"/>'
						+'<input type="submit" value="Загрузить" name="submit" onclick="iframeload('+AVK.vuu[vuu_id].video_id+',0)"/>'
					+'</form>'
					+'<div id="pr'+AVK.vuu[vuu_id].video_id+'" class="progress">Loading...</div>'
					+'<iframe class="upframe" name="fr'+AVK.vuu[vuu_id].video_id+'" onload="iframeload('+AVK.vuu[vuu_id].video_id+',1)"></iframe>'
				+'</div>';
			main = $byId('main');
			main.appendChild(div);
		}
		else if(updata.error){
			openAlertBox('Ошибка #'+updata.error.error_code+': '+updata.error.error_msg,'closeAlertBox();',0);
		}
	});
};
	
function loadVideo(video,key){
	getJSON("video.get",{videos:video,count:1},function(vdata){
		if(vdata.response){
			if(vdata.response.items.length>0){
				player = vdata.response.items[0];
				showVideoBox(player["owner_id"],player["id"],player["title"],player["description"],
					player["photo_130"],player["photo_320"],player["player"],key);
			}
			else if(vdata.response.items.length==0){
				openAlertBox('Ошибка: Видео не найдено!','closeAlertBox();',0);
			}
		}
		else if(vdata.error){
			openAlertBox('Ошибка #'+vdata.error.error_code+': '+vdata.error.error_msg,'closeAlertBox();',0);
		}
	});
}

vidboxopen = 0;
function showVideoBox(oid,vid,title,description,prev_s,prev_l,embedcode,key){
	$byId('videobox').innerHTML = ''
		+'<div class="frame"><iframe src="'+embedcode+'"></iframe></div>'
		+'<div class="info" id="videoData">'
			+'<div>Title: <input value="'+title+'" readonly="readonly"/></div>'
			+'<div>Description: <textarea style="height:44px;" type="text" readonly="readonly">'+description+'</textarea></div>'
			+'<div>Preview (small): <input value="'+prev_s+'" readonly="readonly"/></div>'
			+'<div>Preview (large): <input value="'+prev_l+'" readonly="readonly"/></div>'
			+'<div>Embed code: <input value="'+embedcode+'" readonly="readonly" onclick="sel_all(this)"/></div>'
			+'<div><a href="http://vk.com/video'+oid+'_'+vid+'" target="_blank">Открыть видео на сайте VK</a></div>'
			+'<div><a href="#" onclick="editVideo(\''+oid+'_'+vid+'\'); return false;">Редактировать</a></div>'
			+'<div><a href="#" onclick="deleteVideoPrep(\''+oid+'\',\''+vid+'\',\''+key+'\');return false;">Удалить</a></div>'
			+'<br/>'
			+'<div><a href="#" onclick="loadVideo(\''+oid+'_'+vid+'_'+key+'\',\''+key+'\'); return false;"> Перезагрузить фрейм </a></div>'
		+'</div>';
	$byTag('body')[0].style.overflow = 'hidden';
	$byId('videobg').style.display = 'block';
	$byId('videobox').style.display = 'block';
	$byId('videobg').onclick = function(){hideVideoBox();}
	vidboxopen = 1;
}
function hideVideoBox(){
	$byId('videobox').innerHTML = '';
	$byId('videobox').style.display = 'none';
	$byId('videobg').style.display = 'none';
	$byTag('body')[0].style.overflow = 'auto';
	vidboxopen = 0;
}

function editVideo(video){
	openAlertBox('В данный момент редактирование недоступно.','closeAlertBox();',0)
}

function deleteVideoPrep(oid,vid,key){
	openAlertBox(
		'Вы уверены, что хотите удалить это видео?',
		'deleteVideo(\''+oid+'\',\''+vid+'\',\''+key+'\');',
		'closeAlertBox();'
	);
}

function deleteVideo(oid,vid,key){
	getJSON("video.delete",{video_id:vid,owner_id:oid},function(vdata){
		if(vdata.response){
			hideVideoBox();
			openAlertBox('Видео удалено!<br/>Востановить удалённое видео?','restoreVideo(\''+oid+'\',\''+vid+'\',\''+key+'\');','removeUploder('+vid+');closeAlertBox();');
		}
		else{
			openAlertBox('Неудалось удалить видео.','closeAlertBox();',0);
		}
	});
}

function removeUploder(vid){
	if($byId('vif'+vid)!=null){
		$byId('vif'+vid).remove();
	}
}

function restoreVideo(oid,vid,key){
	getJSON("video.restore",{video_id:vid,owner_id:oid},function(vdata){
		if(vdata.response){
			loadVideo(oid+'_'+vid+'_'+key);
			openAlertBox('Видео восстановлено!','closeAlertBox();',0);
		}
		else{
			openAlertBox('Неудалось восстановить видео.','closeAlertBox();',0);
		}
	});
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// extra pages ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function showrepeat(){
	openAlertBox(
		'<div>Зацикливание воспроизведения видеозаписи.</div>',
		'closeAlertBox();',0);
}

function showpageisprivate(){
	openAlertBox(
		'<div>Для последующей отправки видеозаписи личным сообщением.<br/>'
		+'После загрузки с этим параметром видеозапись<br/>'
		+'не будет отображаться в списке видеозаписей пользователя<br/>'
		+'и не будет доступна другим пользователям по id.'
		+'<br/>(Использование данной опции не рекомендуется)</div>',
		'closeAlertBox();',0);
}

function showpagefaq(){
	openAlertBox(
		'<div style="text-align:left;">'
			+'1. Название видеофайла: С каким названием будет добавлено видео. Можно вводить любой текст.<br/>'
			+'2. Описание видеофайла: Такая подпись будет под видео при его просмотре. Можно вводить любой текст или оставить пустым.<br/>'
			+'3. Выбирите куда сохранять видео: Выбор куда сохранять видео, в ваш профаил или группу где Вы являетесь администратором.<br/>'
			+'Возможен ввод группы по ID.<br/>'
			+'4. Выбирите в какой альбом сохранять видео:  Выбор в какой альбом сохранять видео,<br/>'
			+'Можно загружать видео вне альбомов.<br/>'
			+'5. Перейти к загрузке: При соблюдении всех полей внизу появится блок "Загрузка видео" с названием<br/>'
			+'и прямой ссылкой на добавленное видео, формой ввода файла и кнопкой подтверждения начала загрузки.<br/>'
		+'После успешной загрузки видеофайла под кнопкой загрузить появится сообщение {"size":12345},<br/>'
		+'где 12345 - размер загруженного видеофайла.<br/>'
		+'<br/>'
		+'*** Для удобства автозаполнения ID адресов группы/альбома, куда Вы будете постоянно добавлять видео,<br/>'
		+'можно указать параметры в адресной строке:<br/>'
		+'http://seiya.mcag.su/page/vk_video_uploader/?gid=12345&amp;aid=54321<br/>'
		+'Где:<br/>'
		+'gid=12345 - заменить на id вашей группы (или вообще убрать пункт, для добавления в Ваш профайл)<br/>'
		+'aid=54321 - заменить на id существующего альбома в профайле или указанной группе<br/>'
		+'(или вообще убрать пункт, для добавления вне альбома).'
		+'</div>',
		'closeAlertBox();',
	0);
}

function showpagechangelog(){
	openAlertBox(
		'<div style="text-align:left;">'
			+'<div>r0 - Добавление и загрузка видео.</div>'
			+'<div>r1 - Добавлены поля для выбора названия и группы.</div>'
			+'<div>r2 - Добавлено поле описание видео.</div>'
			+'<div>r3 - Добавлено поле для добавления в определённый альбом.</div>'
			+'<div>r4 - Добавлены кнопки Like и Share.</div>'
			+'<div>r5 - Добавлены урл параметры gid, aid и один секретный.</div>'
			+'<div>r6 - Добавлена навигация и поле для комментариев.</div>'
			+'<div>r7 - Добавлено FAQ и Changelog.</div>'
			+'<div>r8 - Исправлена ошибка, при которой формы загрузки пересоздавались при добавлении новой формы.</div>'
			+'<div>r9 - Добавлен блок оповещающий о загрузке файла.</div>'
			+'<div>r10 - Опция отключающая сброс полей в блоке добавления видео.</div>'
			+'<div>r11 - Багфиксы интерфейса.</div>'
			+'<div>r12 - Комментарии и виджеты теперь доступны только после авторизации.</div>'
			+'<div>r13 - Багфиксы скриптов.</div>'
			+'<div>r14 - Кнопка удаления блока загрузчика.</div>'
			+'<div>r15 - Оптимизация.</div>'
			+'<div>r16 - Скрытие блока загрузчика.</div>'
			+'<div>r17 - Оптимизация.</div>'
			+'<div>r18 - Бокс информации о загружаемом видео.</div>'
			+'<div>r22 - Исправление ошибок.</div>'
			+'<div>r27 - Новый интерфейс, интегрированы обновления с бета версии.</div>'
			+'<div>r28 - Исправлен выбор группы и альбома по урл, вк апи 5.9.</div>'
			+'<div>r29 - Мелкие исправления.</div>'
			+'<div>r31 - VK api 5.10.</div>'
			+'<div>r32 - Фиксы для видео с флагом "is_private".</div>'
			+'<div>r34 - Исправлена авторизация.</div>'
			+'<div>r40 - Новый UI.</div>'
			+'<div>r41 - UI фиксы.</div>'
			+'</div>',
		'closeAlertBox();',
	0);
}